package com.linkai.JUC._03_lock8;

import java.util.concurrent.TimeUnit;

/**
 * @Description:
 *               5. 增加2个静态的同步方法
 *               6. 两个对象！
 * @Author: 林凯
 * @Date: 2021/10/24 13:04
 */
public class Test03 {
    public static void main(String[] args) {
        // 两个对象的 Class 类模版只有一个，static，锁的是 Class
        Phone03 phone03 = new Phone03();
        Phone03 phone031 = new Phone03();

        new Thread(()->{
            phone03.sendSms();
        }).start();

        try {
            TimeUnit.SECONDS.sleep(1);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        new Thread(()->{
            phone03.call();
        }).start();
    }
}

// Phone03 只有唯一的一个 Class 对象（反射）
class Phone03 {
    // synchronize 锁的对象是方法的调用者
    // static 静态方法，类一加载就有了！锁的是 Class
    public static synchronized void sendSms() {
        System.out.println("发短信");
    }

    public static synchronized void call() {
        System.out.println("打电话");
    }
}